using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ServiceModel;
using EIA.WCFService.ClientProxy;

namespace EIA.PM.BLL.ClientProxy
{
    /// <summary>
    /// generated by binking
    /// </summary>
    public class XProjectInfoProxy : ProxyBase
    {
        
        public IClientChannel Query(System.String sSQL, Action<System.Collections.Generic.IList<EIA.PM.Model.XProjectInfo>> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(sSQL) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XProjectInfoBlp", "Query", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XProjectInfoBlp", "Query", json_args, callback, errorCallback);
        }
        public IClientChannel QueryContract(System.String sSQL, Action<System.Collections.Generic.IList<EIA.PM.Model.XProjectInfo>> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(sSQL) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XProjectInfoBlp", "QueryContract", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XProjectInfoBlp", "QueryContract", json_args, callback, errorCallback);
        }
        public IClientChannel QueryContractAndInvoiceAmount(System.String beginData,System.String endData, Action<System.String> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(beginData), Newtonsoft.Json.JsonConvert.SerializeObject(endData) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XProjectInfoBlp", "QueryContractAndInvoiceAmount", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XProjectInfoBlp", "QueryContractAndInvoiceAmount", json_args, callback, errorCallback);
        }
        public IClientChannel QueryForBonus(System.String sSQL, Action<EIA.PM.Model.XProjectBonus> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(sSQL) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XProjectInfoBlp", "QueryForBonus", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XProjectInfoBlp", "QueryForBonus", json_args, callback, errorCallback);
        }
        public IClientChannel UpdateKQJS(System.Double kcjs,System.Int32 stf_id, Action<System.Int32> callback, Action<Exception> errorCallback = null)
        {
            object[] args = new object[] { Newtonsoft.Json.JsonConvert.SerializeObject(kcjs), Newtonsoft.Json.JsonConvert.SerializeObject(stf_id) };
            string json_args = Newtonsoft.Json.JsonConvert.SerializeObject(args);

            return string.IsNullOrEmpty(X.ServiceAddress) ?
                CallFuncByAddToken2Headder("EIA.PM.BLL.XProjectInfoBlp", "UpdateKQJS", json_args, callback, errorCallback) :
                CallFuncByAddToken2Headder(X.ServiceAddress, "EIA.PM.BLL.XProjectInfoBlp", "UpdateKQJS", json_args, callback, errorCallback);
        }
    }
}